<!-- #include file="../BLL/DV.asp" -->
<!-- #include file="../DAL/BD.asp" -->
<!-- #include file="../BLL/Encriptacion.asp" -->

<%
	' Asigno los valores que llegan por POST
	usuario = Request.Form("usuario")
	contrasena = ContrasenaCodifica(Request.Form("contrasena"))
	
	' Conecto a la base de datos
	set conexion = Conectar()
	
	' Verifico los digitos verificadores
	dvhok = comprobarDVH()
	dvvok = comprobarDVV()
	
	if dvhok = 0 then
		Session("DVH")=1
		if usuario <> "webmaster" then
			response.Redirect("../UI/error_.asp")
		end if
	end if
	
	if dvvok = 0 then
		Session("DVV")=1
		if usuario <> "webmaster" then		
			response.Redirect("../UI/error_.asp")
		end if
	end if
		
	' Obtengo el recordset con la informacion
	'Set resultado= 
    'ConsultarBDD("Select * from USUARIOS where Usuario='" & usuario & "' and Contrasena='" & contrasena & "' and Habilitado=1",conexion)
    'Set resultado= ConsultarBDD("Select * from USUARIOS where Usuario='" & usuario  & "' and Habilitado=1",conexion)
    Set resultado= ConsultarBDD("Select * from USUARIOS where Usuario='" & usuario  & "' and Habilitado=1" & " and Usuario in (select Usuario From INGRESOS_FALLIDOS where intentosFallidos < 3) ",conexion)

	' Si el recordset vuelve vacio el usuario no existe en la bdd, por el contrario asigno la info a las sesiones y redirecciono.
	if resultado.EOF AND resultado.BOF then
			session("Errores")= "Datos invalidos."
			Response.Redirect("../UI/index.asp")
	else

            if (resultado.fields("Contrasena") =  contrasena) then

			    Session("id_Usuario")=resultado.fields("id_Usuario")
			    Session("id_Perfil")=resultado.fields("id_Perfil")		
			    session("usuario")=resultado.fields("Usuario")	
			    session("Nombre")=resultado.fields("Nombre")
								
			    'Registro el movimiento en la bitacora
			    id=obtener_ultimo_id("BITACORA","id_Bitacora") + 1
			    dvh=calcularDVH(id & "Login: " & Session("usuario") & "1" & formatdatetime(now(),vbgeneraldate) & session("id_Usuario"))					
			    AgregarMovimiento "Login: " & Session("usuario"),"1",session("id_Usuario"),dvh
			    calcularDVV("BITACORA")		
			    Response.Redirect("../UI/perfil.asp")
        

            else

                Set resultadoIF= ConsultarBDD("Select * from INGRESOS_FALLIDOS where Usuario='" & usuario & "'",conexion)

                if resultadoIF.fields("intentosFallidos") <  3 then
                    'Incremento los ingresos incorrectos
                    
                cantIng = resultadoIF.fields("intentosFallidos")
                    cantIng = cantIng + 1
                        EjecutarConsulta " UPDATE INGRESOS_FALLIDOS SET intentosFallidos='" & cantIng & "' where Usuario='"& usuario & "'",conexion
                else
                        'TODO: VER SI SE DESHABILITA O NO - VIVI
                    'Deshabilito al usuario
                    '   EjecutarConsulta " UPDATE USUARIOS SET Habilitado='" & 0 & "' where Usuario='"& usuario & "'",conexion
                end if

                session("Errores")= "Ingreso incorrecto."
		    	Response.Redirect("../UI/index.asp")
            end if		
	end if
	
	' Desconecto la base de datos
	Desconectar(conexion)
%>	